/**
 * @file raise.h
 * @author <raphael.londeix@gmail.com> Raphaël Londeix
 *
 * @section DESCRIPTION
 * @FIXME@
 */

#ifndef __RAISE_H__
# define __RAISE_H__

# include <stdlib.h>
# include <stdio.h>

void __print_messages(int dummy, ...);

# define raise(...) do { \
   fprintf(stderr, "Exception in '%s': %u: ", __FILE__, __LINE__); \
   __print_messages(42, __VA_ARGS__, NULL); \
   fprintf(stderr, "\n"); \
   abort(); \
} while (0)

#endif /* !__RAISE_H__ */

